﻿//函数名：CheckInput()
//功能介绍：输入检测函数，输出检测结果
//参数说明：Str			输入字串
//			Title		字串名称
//			Format		格式
//			LengthMin	最小长度
//			LengthMax	最大长度
//			
//格式枚举值：	Date	日期格式检测
//				Email	Email格式检测
//				Post	邮编格式检测
//				Url		URL网址格式检测
//				Phone	电话号码格式检测
//				PC		身份证号码格式检测
//				Num		纯数字检测
//				HZ		纯中文检测
//返回值：0：检测通过　1：检测未通过
function CheckInput(Str, Title, Format, LengthMin, LengthMax)

{
	//检测并初始化输入参数
	if( Title == '' )
	{
		alert('输入参数不全，请输入待检测项目的名称!');return false;
	}
	if( Str == '' && LengthMin != 0 )
	{
		alert('请输入' + Title + '!' );return false;
	}
	if( Format == '' )
	{
		Format = 'ELSE';
	}
	else
	{
		Format = Format.toUpperCase();
	}
	if( LengthMin == '' ) LengthMin = 0;
	if( LengthMax == '' ) LengthMax = 255;


	//判断是否合法
	if(Str!='')
	{
		if( Str.length < LengthMin )
		{
			window.alert( Title + '的长度不能小于' + LengthMin + '个字符!' );
			return false;
		}
		if( Str.length > LengthMax )
		{
			window.alert( Title + '的长度不能多于' + LengthMax + '个字符!' );
			return false;
		}
		if( Format == 'DATE')
		{
			if(!CheckDate(Str))
			{
				window.alert( Title + '格式不正确!');
				return false;
			}
		}
		if( Format == 'EMAIL')
		{
			if(!CheckEmail(Str))
			{
				window.alert( Title + '格式不正确!');
				return false;
			}
		}
		if( Format == 'URL')
		{
			if(!CheckURL(Str))
			{
				window.alert( Title + '格式不正确!');
				return false;
			}
		}
		if( Format == 'POST')
		{
			if(!CheckPost(Str))
			{
				window.alert( Title + '格式不正确!');
				return false;
			}
		}
		if( Format == 'PHONE')
		{
			if(!CheckPhone(Str))
			{
				window.alert( Title + '格式不正确!');
				return false;
			}
		}
		if( Format == 'PC')
		{
			if(!CheckPC(Str))
			{
				window.alert( Title + '格式不正确!');
				return false;
			}
		}
		if( Format == 'NUM')
		{
			if(!CheckNum(Str))
			{
				window.alert( Title + '不是纯数字!');
				return false;
			}
		}
		if( Format == 'HZ')
		{
			if(!CheckHZ(Str))
			{
				window.alert( Title + '不是纯汉字!');
				return false;
			}
		}
		if( Format == 'MONEY')
		{
			if(!isMoney(Str))
			{
				window.alert( Title + '不是金额!');
				return false;
			}
		}
		if( Format == 'ERR')
		{
			if(!isErrChar(Str))
			{
				window.alert( Title + '不可包含特殊字符（‘"&<>）!');
				return false;
			}
		}
		return true;
	}
	return true;
}
//检查是否包含特殊字符
function isErrChar(Str){  
	return   !/['"&<>]/.test(Str);   //////'
}

function isMoney(Str)
{
	var patrn=/^(\-|)(\d{1,7})(\.\d{2}||\.\d{1})$/;
	//alert(patrn.test(Str));
	if(!patrn.test(Str)) 
		return false;
	return true;
}

//函数名：chkdate 
//功能介绍：检查是否为日期 
//参数说明：要检查的字符串 
//返回值：0：不是日期 1：是日期 
function CheckDate(datestr) 
{ 
	var lthdatestr 
	if (datestr != "") 
		lthdatestr= datestr.length ; 
	else 
		lthdatestr=0; 

	var tmpy=""; 
	var tmpm=""; 
	var tmpd=""; 
	var status; 
	
	status=0; 
	if ( lthdatestr== 0) return false;

	for (i=0;i<lthdatestr;i++) 
	{	if (datestr.charAt(i)== '-') 
		{ 
			status++; 
		} 
		if (status>2) 
		{ 
			//alert("Invalid format of date!"); 
			return false; 
		} 
		if ((status==0) && (datestr.charAt(i)!='-')) 
		{ 
			tmpy=tmpy+datestr.charAt(i) 
		} 
		if ((status==1) && (datestr.charAt(i)!='-')) 
		{ 
			tmpm=tmpm+datestr.charAt(i) 
		} 
		if ((status==2) && (datestr.charAt(i)!='-')) 
		{ 
			tmpd=tmpd+datestr.charAt(i) 
		} 

	} 

	year=new String (tmpy); 
	month=new String (tmpm); 
	day=new String (tmpd) 
		//tempdate= new String (year+month+day); 
		//alert(tempdate); 
	if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2)) 
	{ 
		//alert("Invalid format of date!"); 
		return false; 
	} 
	if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) ) 
	{ 
		//alert ("Invalid month or day!"); 
		return false; 
	} 
	if (!((year % 4)==0) && (month==2) && (day==29)) 
	{ 
		//alert ("This is not a leap year!"); 
		return false; 
	} 
	if ((month<=7) && ((month % 2)==0) && (day>=31)) 
	{ 
		//alert ("This month is a small month!"); 
		return false; 
	} 
	if ((month>=8) && ((month % 2)==1) && (day>=31)) 
	{ 
		//alert ("This month is a small month!"); 
		return false; 
	} 
	if ((month==2) && (day==30)) 
	{ 
		//alert("The Febryary never has this day!"); 
		return false; 
	} 

	return true; 
}


//是否Email格式
function CheckEmail(EmailText)
{
    var checkOk="@";
    var checkStr=EmailText;
    var allValid=true;
    var decPoints=0;
    var allNum="";
    
    if(checkStr.charAt(0)=='@')
       return(false);
    if(checkStr.charAt(checkStr.length-1)=='@')
       return(false);
    if(checkStr.charAt(checkStr.length-1)=='.')
       return(false);
   
   a_valid=0;
   a_count=0;
   d_valid=0;
 
    for(i=0;i<checkStr.length;i++)
    {
      ch=checkStr.charAt(i);
      if(ch=='@')
       {a_valid=1;a_count++;}
      if(ch=='.')
      {d_valid=1;}
    }
   
    if(a_count>1)
      return(false);
      
    if(a_valid==1&&d_valid==1)
      return(true);
    else 
      return(false);
}


//是否URL格式
function CheckURL(Str)
{
	if ( Str.length < 7 ) return false;
	Str = Str.toUpperCase();
	if ( Str.substr( 0,7) != 'HTTP://') return false;
	if ( Str.indexOf( '.') == -1 ) return false;
	return true;
}


//是否邮编格式
function CheckPost(Str)
{
	var validChar = "0123456789";
	var i;
	
	if ( Str.length < 6 ) return false;
	for (i=0;i<Str.length;i++) 
	{ 
		var c = Str.charAt(i);
		if ( validChar.indexOf( Str.charAt(i) ) == -1) return false;
	}
	return true;
}


//是否电话传真格式
function CheckPhone(Str)
{
	var validChar = "0123456789-";
	var i;

	for (i = 0; i < Str.length; i++)
	{
		var c = Str.charAt(i);
		if ( validChar.indexOf(c) == -1) return false;
	} 
	return true;
}

//是否身份证格式
function CheckPC(Str)
{
	var validChar = "0123456789";
	var i;
	
	if ( Str.length != 15 && Str.length != 18 && Str.length != 0 ) 	return false;
	for (i=0;i<Str.length;i++) 
	{ 
		var c = Str.charAt(i);
		if ( validChar.indexOf( Str.charAt(i) ) == -1) return false;
	}
	return true;
}


//是否是纯数字
function CheckNum(Str)
{
	var validChar = "0123456789";
	var i;

	for (i = 0; i < Str.length; i++)
	{
		var c = Str.charAt(i);
		if (validChar.indexOf(c) == -1) return false;
	} 
	return true;
}


//是否纯中文
function CheckHZ(param)
{
	var reg = /[^u4E00-u9FA5]/g;
   
   if(reg.test(param)) return false;
   return true;
}

//CheckInput()函数结束------------------------




//去掉字符串内所有多余空格
function Alltrim(str) 
{ 
    while (str.charAt(0)==" "||str.charAt(0)=="　") 
	{
	    str=str.substr(1);
	} 
	while (str.charAt(str.length-1)==" "||str.charAt(0)=="　") 
	{
	    str=str.substr(0,str.length-1);
	} 
    return(str); 
} 


//所有被选中的复选框计数
function CountChkBoxDeleItem()
{
    var j = 0;
    
	for(i=0;i<document.all.length;i++)
	{
		if(document.all(i).type=="checkbox")
		{
			if(document.all(i).checked)
			{j++;}
		}
	}
    return j;
}


//字符串长度检测
function CheckStringLength(InputValue,TitleName,MinStrLength,MaxStrLength)
{  
    var CheckedValue = Alltrim(InputValue);
    
    if(CheckedValue.length==0)
    {
       window.alert(TitleName+"不能为空！");
       return false;
    }
    if(CheckedValue.length > MaxStrLength)
    {
		window.alert(TitleName+"长度不能大于"+MaxStrLength+"个字符！");
		return false;
    }
    if(CheckedValue.length < MinStrLength)
    {
		window.alert(TitleName+"长度不能小于" + MinStrLength + "个字符");
		return false;
    }
    return true;
}

//选中所有复选框
function CheckBox_SeleAll()
{
	for(i=0;i<document.all.length;i++)
    {
	    if(document.all.item(i).type=="checkbox")
		{
		   document.all.item(i).checked = true;
		}
	}
}

//清除所有复选框
function CheckBox_ClearAll()
{
	for(i=0;i<document.all.length;i++)
    {
	    if(document.all.item(i).type=="checkbox")
		{
		   document.all.item(i).checked = false;
		}
	}
}

//检测是否为可上传的图片格式
function IfPicType(filename,title)
{
	var filetype;
	var filename;
    
    filename = Alltrim(filename);
	filetype = filename.substr(filename.lastIndexOf("."),filename.length-1);
	if(filetype.toUpperCase()!=".GIF"&&filetype.toUpperCase()!=".BMP"&&filetype.toUpperCase()!=".JPEG"&&filetype.toUpperCase()!=".JPG")
    {
		window.alert(title+"\n为不支持的上传文件格式!");return false;
    }
    return true;
}
function SetCookie(name, value)
{  
	var argv = SetCookie.arguments;  
	var argc = SetCookie.arguments.length;  
	var expires = (argc > 2) ? argv[2] : null;  
	var path = "/";//(argc > 3) ? argv[3] : null;  
	var domain = (argc > 4) ? argv[4] : null;  
	var secure = (argc > 5) ? argv[5] : false;  
	document.cookie = name + "=" + escape (value) + 
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((path == null) ? "" : ("; path=" + path)) +  
	((domain == null) ? "" : ("; domain=" + domain)) +    
	((secure == true) ? "; secure" : "");
}

//删除Cookies
function DeleteCookie(name) 
{  
	var exp = new Date();  
	exp.setTime (exp.getTime() - 1); 
	var cval = GetCookie(name);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString()+";path=/";
}
//获取cookies
function GetCookie(name)
{ 
	var arg = name + "=";  
	var alen = arg.length;  
	var clen = document.cookie.length;  
	var i = 0;  
	while (i < clen)
	{
		var j = i + alen;    
		if (document.cookie.substring(i, j) == arg)      
		return getCookieVal (j);    
		i = document.cookie.indexOf(" ", i) + 1;    
		if (i == 0) break;   
	}  
	return null;
}
//获取cookies的内部函数
function getCookieVal (offset)
{  
	var endstr = document.cookie.indexOf (";", offset);  
	if (endstr == -1)    
	endstr = document.cookie.length;  
	return unescape(document.cookie.substring(offset, endstr));
}
//对Cookies的反解码
function DecodeCookie(str) 
{ 
	
	var strArr; 
	var strRtn="";
	strArr=str.split("a"); 
		for (var i=strArr.length-1;i>=0;i--) 
			strRtn+=String.fromCharCode(eval(strArr[i])); 
	return strRtn; 
	
} 

function ManageRefresh()
{
	if(window.parent==null)
		window.location="/Admin/Index.aspx";
	else
		window.parent.location="/Admin/Index.aspx";
}

